package com.kitten.search.biz.service;

import com.kitten.framework.common.response.PageResponse;
import com.kitten.framework.common.response.Response;
import com.kitten.search.api.dto.RebuildNoteDocumentReqDTO;
import com.kitten.search.api.dto.RebuildUserDocumentReqDTO;
import com.kitten.search.biz.model.vo.SearchNoteReqVO;
import com.kitten.search.biz.model.vo.SearchNoteRspVO;
import com.kitten.search.biz.model.vo.SearchUserReqVO;
import com.kitten.search.biz.model.vo.SearchUserRspVO;

/**
 * @author kitten
 */
public interface SearchService {

    /**
     * 搜索用户
     * @param searchUserReqVO
     * @return
     */
    PageResponse<SearchUserRspVO> searchUser(SearchUserReqVO searchUserReqVO);

    /**
     * 搜索笔记
     * @param searchNoteReqVO
     * @return
     */
    PageResponse<SearchNoteRspVO> searchNote(SearchNoteReqVO searchNoteReqVO);

    /**
     * 重建笔记索引
     * @return
     */
    Response<Long> rebuildNoteDocument(RebuildNoteDocumentReqDTO rebuildNoteDocumentReqDTO);

    /**
     * 重建用户索引
     * @param rebuildUserDocumentReqDTO
     * @return
     */
    Response<Long> rebuildUserDocument(RebuildUserDocumentReqDTO rebuildUserDocumentReqDTO);
}
